WWIP (Watch WAN IP) Readme
This program is intended to allow users to monitor the WAN (external) IP address of their personal router/firewall solution connected to their Internet broadband service of choice. Many broadband providers assign IP addresses by DHCP rather than assigning static IP addresses. While these DHCP addresses might not change frequently, if/when they do change, it can cause you to be unable to connect to your home network/computers remotely.
For instance, if you host a web site on a server at home or use a remote control program such as Terminal Services, PCAnywhere, or VNC, you need to know what your current WAN IP address is to be able to connect. This program will allow you to be notified via E-Mail, FTP, or both of the new IP address when it changes.
The program works by "Screen Scraping" the IP address off of your router and comparing it to the old address. This means that the program will connect to the router to get the HTML source of the configuration page the WAN IP is displayed on. Then, using parameters you define, locates and extract the IP addres from the HTML source. If the IP has changed, it will notify you.
If you are currently paying an extra fee to your broadband Internet provider for a static IP, this program will allow you to save some $$$.
(Note: This program was written to work with a Linksys BEFW11S4 802.11b wireless router. I obviously do not have access to every type of router hardware on the market and therefore can make not guarantees as to whether it will work with your specific configuration.)
Installation and Configuration
WWIP is written in VB.NET and requires the .NET Framework version 1.1 or better.
No installation is required...simply copy the executable (.exe) and XML schema
(.xsd) files to the folder you want to run them from.
The configuration settings are written to an .XML file in the same path. The
program will create the XML configuration file upon first use when you save
your settings. Note that all password are encrypted for security.
When minimized, the program's icon will be displayed in the system tray. Simply
double-click it to restore the UI.
Router Configuration Tab
URL: Enter the URL of the configuration web page on your router that contains the WAN IP address. For instance, the status page on many Linksys routers is http://192.168.1.1/Status.htm . Login to your router and browse/navigate to the page that displays your WAN or external IP address. If the specific page is listed in your web browser's address bar, you can copy/paste it from there. Otherwise, you may have to right-click on the page and select "Properties" and get the URL from there.
User ID: Enter the ID/Username you use to login to your router. Most likely this is "admin".
Password: Enter the password you use to login to your router.
Next, click the "Get Source" button. This will attempt to connect to your router, login, and retrieve the HTML source for the configuration web page. If successful, the HTML source will be displayed in the associated text box. If this doesn't happen, you have not successfully configured the URL/ID/PW fields.
When the HTML source is displayed in the text box, find your current WAN IP address and then use the mouse to highlight or select it. If you have saved this configuration previously, the saved position will be highlighted. Then click on the "Save Position" button. This saves the approximate position or location of of the WAN IP address in your configuration page.Polling Interval: Enter the interval, in minutes, for the program to poll the router to check if the WAN IP has changed.
AutoPoll: Check this box to enable the program to begin polling the router at the polling interval automatically upon execution. This is helpful if you want to start the program automatically by placing a shortcut to the executable in the Startup folder. Note: If this option is enabled, the program will start minimized with the icon in the system tray. It will also poll immediately for the first time upon starting and subsequently poll on the specified interval.
NOW would be a good time to click the "Save Changes" button.
E-Mail Configuration Tab
If you would like to receive e-mail notifications when the WAN IP address changes, fill out the information on this tab.
Server: The SMTP server you use to send e-mail from (many times this is "smtp.<internet provider>.com").
User ID: The User ID to log into your SMTP server with.
Password: The Password to log into your SMTP server with.Mail To: The e-mail address you want the new WAN IP address to be mailed to.
Mail From: The e-mail address you are sending the e-mail from. This address will receive any failure or response e-mails.
Subject: The subject of the e-mail.
Body: The body of the e-mail. Note that the 1st line of the e-mail will always contain the new WAN IP address automatically. Any text you enter here will be displayed after this.
NOW would be a good time to click the "Save Changes" button.
Click the "Test E-Mail" button to send an e-mail to test the configuration. If successful, the e-mail account you entered in the "Mail To" field should receive an e-mail.
If the test is successful, check the "Use E-Mail" checkbox to enable e-mail notifications.
NOW would be a good time to click the "Save Changes" button.
FTP Configuration Tab
If you would like to upload a file to an FTP server with the new WAN IP address when it changes, fill out the information on this tab.
URL: Enter the URL of the FTP server you want to upload the new WAN IP to.
User ID: Enter the ID/Username you use to login
Password: Enter the password you use to login to your FTP site.
Upload File: Click the elipses "..." button to select the file to update the WAN IP address in and to upload to the FTP server.
If all you want the file to contain is the IP address, simply create a .txt file with a dummy IP address in it ("0.0.0.0" will work) and select this file. The file MUST have an IP address in it.
Optionally, you can select another file type (.html, .htm, .asp, .aspx, etc.) that uses your WAN IP address. However, note that if the content of this file changes, you will most likely have to perform the following steps again to adjust for the change in the position of the WAN IP in the file.Next, click the "Get Source" button. This will attempt to read the contents of the file you selected. If successful, the contents will be displayed in the associated text box. If you have saved this configuration previously, the saved position will be highlighted.
When the contents are displayed in the text box, find your current WAN IP address and then use the mouse to highlight or select it. Then click on the "Save Position" button. This saves the approximate position or location of of the WAN IP address in your file.Check the "Use FTP" checkbox to enable FTP notifications.
NOW would be a good time to click the "Save Changes" button.
Note that WWIP will only attempt to FTP upload the file once every time the IP changes. If the upload fails for any reason, WWIP will not retry the upload again unless the IP changes.
Running WWIP
Again, if "AutoPoll" is checked, when the program starts it will be minimized and automatically start checking for a change in the WAN IP address every x number of minutes as specified in the "Polling Interval" field (It will poll immediately for the first time upon starting and subsequently poll on the specified interval). This is the normal operating scenario.
You can use the "Poll Now" button when you are testing or troubleshooting your configuration.
About WWIP...
WWIP is provided "as is" with no guarantee of support, updates, bug fixes, or enhancements. However, feedback is welcomed.
WWIP versions 1.3.x and below are free to use for non-commercial, home, and
educational use. Donations are MUCH appreciated though.
Commercial license is $25 US per installed computer. E-Mail to inquire about a
site license.
PayPal payments accepted...send to
EMC3Ware@EMC3.US
WWIP is copyright 2004-2005 by Ed McInerney
Updated mailing address (for checks and $$$) can be found at http://www.emc3.us/emc3ware
Version History
1.30 Initial Release to Public
1.31
To Do List for Future Versions